home *** CD-ROM | disk | FTP | other *** search
/ Floppyshop 2 / Floppyshop - 2.zip / Floppyshop - 2.iso / diskmags / 0022-3.564 / dmg-3323 / protocol.gem / 68000 / aeslib.s < prev    next >
Text File  |  1987-04-21  |  4KB  |  183 lines

  1.  
  2. * AES Library Copyright (C) HiSoft 1988
  3. * this MUST be assembled to either executable or GST linkable, NOT DRI code
  4.  
  5. * sets section order to TEXT,DATA,BSS
  6.  
  7. * 27.7.88    adjusted table and addr_in for TOS 1.04 calls
  8. * 3.10.88    control made 5 words instead of 4!
  9. * 14.12.90 noms des fonctions ajoutés en face des opcodes
  10. * et activation de FORM_KEYBD et FORM_BUTTON
  11.  
  12.  
  13.     MODULE    LowLevelAES
  14.  
  15.     XDEF    CALL_AES,control,global,int_in,int_out
  16.     XDEF    addr_in,addr_out,aes_params
  17.  
  18.     SECTION    TEXT
  19. * call an AES routine
  20. * in:    d0.w=AES function number
  21. * out    d0.w=int_out value
  22. * uses    d0-d2/a0-a2
  23. * (assumes control4 needs to be zero)
  24. CALL_AES    lea    control,a1
  25.     move.w    d0,(a1)+            store the op code
  26.     sub.w    #10,d0
  27.     mulu    #3,d0            size is the priority, not speed
  28.     lea    gem_ctrl_list,a0
  29.     add.w    d0,a0            points to the entry
  30.     moveq    #0,d0
  31.     move.b    (a0)+,d0
  32.     move.w    d0,(a1)+        do control1
  33.     move.b    (a0)+,d0
  34.     move.w    d0,(a1)+        and control2
  35.     move.b    (a0)+,d0
  36.     move.w    d0,(a1)+        and control3
  37.     clr.w    (a1)    assumes control4=0 (all except RSRC_GADDR)
  38.     move.l    #aes_params,d1
  39.     move.w    #200,d0        function number
  40.     trap    #2
  41.     move.w    int_out,d0        usually a returned value
  42.     rts
  43.  
  44.     SECTION    DATA
  45. * Table de pointeurs pour les tableaux AES
  46. aes_params    dc.l    control,global,int_in,int_out,addr_in,addr_out
  47.  
  48. * Listes des paramétres à passer dans le tableau CONTROL
  49. * pour les appels à l'AES (Control 1-3). En commentaire le
  50. * numéro et le nom de la fonction. Un '*' indique que la
  51. * fonction n'est pas définit dans la bibliothéque.
  52. gem_ctrl_list
  53.     dc.b    0,1,0    10    APPL_INIT
  54.     dc.b    2,1,1    11    APPL_READ
  55.     dc.b    2,1,1    12    APPL_WRITE
  56.     dc.b    0,1,1    13    APPL_FIND
  57.     dc.b    2,1,1    14    APPL_TPLAY
  58.     dc.b    1,1,1    15    APPL_TRECORD
  59.     dc.b    0,0,0    16*    
  60.     dc.b    0,0,0    17*
  61.     dc.b    0,0,0    18*
  62.     dc.b    0,1,0    19    APPL_EXIT
  63.     dc.b    0,1,0    20    EVNT_KEYBD
  64.     dc.b    3,5,0    21    EVNT_BUTTON
  65.     dc.b    5,5,0    22    EVNT_MOUSE
  66.     dc.b    0,1,1    23    EVNT_MESAG
  67.     dc.b    2,1,0    24    EVNT_TIMER
  68.     dc.b    16,7,1    25    EVNT_MULTI
  69.     dc.b    2,1,0    26    EVNT_DCLICK
  70.     dc.b    0,0,0    27*    
  71.     dc.b    0,0,0    28*
  72.     dc.b    0,0,0    29*
  73.     dc.b    1,1,1    30    MENU_BAR
  74.     dc.b    2,1,1    31    MENU_ICHECK
  75.     dc.b    2,1,1    32    MENU_IENABLE
  76.     dc.b    2,1,1    33    MENU_TNORMAL
  77.     dc.b    1,1,2    34    MENU_TEXT
  78.     dc.b    1,1,1    35    MENU_REGISTER
  79.     dc.b    0,0,0    36*
  80.     dc.b    0,0,0    37*
  81.     dc.b    0,0,0    38*
  82.     dc.b    0,0,0    39*
  83.     dc.b    2,1,1    40    OBJC_ADD
  84.     dc.b    1,1,1    41    OBJC_DELETE
  85.     dc.b    6,1,1    42    OBJC_DRAW
  86.     dc.b    4,1,1    43    OBJC_FIND
  87.     dc.b    1,3,1    44    OBJC_OFFSET
  88.     dc.b    2,1,1    45    OBJC_ORDER
  89.     dc.b    4,2,1    46    OBJC_EDIT
  90.     dc.b    8,1,1    47    OBJC_CHANGE
  91.     dc.b    0,0,0    48*    
  92.     dc.b    0,0,0    49*
  93.     dc.b    1,1,1    50    FORM_DO
  94.     dc.b    9,1,0    51    FORM_DIAL
  95.     dc.b    1,1,1    52    FORM_ALERTE
  96.     dc.b    1,1,0    53    FORM_ERROR
  97.     dc.b    0,5,1    54    FORM_CENTER
  98.     dc.b    3,3,1    55    FORM_KEYBD
  99.     dc.b    2,2,1    56    FORM_BUTTON
  100.     dc.b    0,0,0    57*
  101.     dc.b    0,0,0    58*
  102.     dc.b    0,0,0    59*
  103.     dc.b    0,0,0    60*
  104.     dc.b    0,0,0    61*
  105.     dc.b    0,0,0    62*
  106.     dc.b    0,0,0    63*
  107.     dc.b    0,0,0    64*
  108.     dc.b    0,0,0    65*
  109.     dc.b    0,0,0    66*
  110.     dc.b    0,0,0    67*
  111.     dc.b    0,0,0    68*
  112.     dc.b    0,0,0    69*
  113.     dc.b    4,3,0    70    GRAF_RUBBERBOX
  114.     dc.b    8,3,0    71    GRAF_DRAGBOX
  115.     dc.b    6,1,0    72    GRAF_MOVEBOX
  116.     dc.b    8,1,0    73    GRAF_GROWBOX
  117.     dc.b    8,1,0    74    GRAF_SHRINKBOX
  118.     dc.b    4,1,1    75    GRAF_WATCHBOX
  119.     dc.b    3,1,1    76    GRAF_SLIDEBOX
  120.     dc.b    0,5,0    77    GRAF_HANDLE
  121.     dc.b    1,1,1    78    GRAF_MOUSE
  122.     dc.b    0,5,0    79    GRAF_MKSTATE
  123.     dc.b    0,1,1    80    SCRP_READ
  124.     dc.b    0,1,1    81    SCRP_WRITE
  125.     dc.b    0,0,0    82*
  126.     dc.b    0,0,0    83*
  127.     dc.b    0,0,0    84*
  128.     dc.b    0,0,0    85*
  129.     dc.b    0,0,0    86*
  130.     dc.b    0,0,0    87*
  131.     dc.b    0,0,0    88*
  132.     dc.b    0,0,0    89*
  133.     dc.b    0,2,2    90    FSEL_INPUT
  134.     dc.b    0,2,3    91    FSEL_EXINPUT
  135.     dc.b    0,0,0    92*
  136.     dc.b    0,0,0    93*
  137.     dc.b    0,0,0    94*
  138.     dc.b    0,0,0    95*
  139.     dc.b    0,0,0    96*
  140.     dc.b    0,0,0    97*
  141.     dc.b    0,0,0    98*
  142.     dc.b    0,0,0    99*
  143.     dc.b    5,1,0    100    WIND_CREATE
  144.     dc.b    5,1,0    101    WIND_OPEN
  145.     dc.b    1,1,0    102    WIND_CLOSE
  146.     dc.b    1,1,0    103    WIND_DELETE
  147.     dc.b    2,5,0    104    WIND_GET
  148.     dc.b    6,1,0    105    WIND_SET
  149.     dc.b    2,1,0    106    WIND_FIND
  150.     dc.b    1,1,0    107    WIND_UPDATE
  151.     dc.b    6,5,0    108    WIND_CALC
  152.     dc.b    0,0,0    109    WIND_NEW
  153.     dc.b    0,1,1    110    RSRC_LOAD
  154.     dc.b    0,1,0    111    RSRC_FREE
  155.     dc.b    2,1,0    112 ** Control(4)=1 ** RSRC_GADDR
  156.     dc.b    2,1,1    113    RSRC_SADDR
  157.     dc.b    1,1,1    114    RSRC_OBFIX
  158.     dc.b    0,0,0    115*    
  159.     dc.b    0,0,0    116*
  160.     dc.b    0,0,0    117*
  161.     dc.b    0,0,0    118*
  162.     dc.b    0,0,0    119*
  163.     dc.b    0,1,2    120    SHEL_READ
  164.     dc.b    3,1,2    121    SHEL_WRITE
  165.     dc.b    1,1,1    122    SHEL_GET    
  166.     dc.b    1,1,1    123    SHEL_PUT
  167.     dc.b    0,1,1    124    SHEL_FIND
  168.     dc.b    0,1,3    125    SHEL_ENVRN
  169.     even
  170.  
  171.     SECTION    BSS
  172. * these don't need initialising so can go in the BSS section
  173. control        ds.w    5
  174. global        ds.w    14
  175. int_in        ds.w    16
  176. int_out        ds.w    7
  177. addr_in        ds.l    3
  178. addr_out    ds.l    1
  179.  
  180.  
  181. *********** END OF AES *****************
  182.  
  183.